下载 | 您所在的位置:网站首页 › 周易电子书 百度网盘下载安装 › 下载 |
下载
更新时间: 2022-03-10 接口描述 权限说明 注意事项 请求结构 header参数 请求参数 响应参数 错误码 请求示例 SDK获取 接口描述本接口用于将用户存储在网盘的云端文件下载到本地。文件下载分为三个阶段:获取文件列表、查询文件信息、下载文件。第二个阶段查询文件信息依赖第一个阶段获取文件列表的结果,第三个阶段下载文件依赖第二阶段查询文件信息的结果,串行完成这三个阶段任务后,云端文件成功下载到本地。 权限说明 所有API的安全认证一律采用百度OAuth2.0鉴权认证机制。 百度OAuth2.0鉴权认证机制的详细内容参见《开发者须知 > 接入流程》。 注意事项 通过【列表类接口】获取文件的唯一标识fsid,如请求获取文件列表接口 通过【查询文件信息接口】获取文件的下载地址,请求查询文件信息接口时需要将参数dlink置为1,接口返回的dlink字段即为文件的下载地址 使用dlink时,必须拼接 &access_token=xxx 参数 使用dlink时,必须在请求header中设置User-Agent字段为pan.baidu.com 设置好请求header,在dlink后拼接access_token参数后,进行下载操作 dlink有效期为8小时,过期后,dlink失效 dlink存在302跳转 不允许使用浏览器直接下载超过50MB的文件, 超过50MB的文件需用开发者原生的软件或者app进行下载 dlink支持断点续传,即通过在请求Header中指定Range参数,下载文件指定范围的数据。例: Range: bytes=0-499表示文件起始的500字节; Range: bytes=500-999表示文件的第二个500字节; Range: bytes=-500 表示文件最后500字节; Range: bytes=500-表示文件500字节以后的范围; Range: bytes=0-0,-1表示文件第一个字节和做后一个字节; Range: bytes=500-600,601-999 表示同时指定多个范围。 请求结构 GET DLINK&access_token=xxx HTTP/1.1 Host: d.pcs.baidu.com DLINK下载地址通过查询文件信息接口返回 header参数 名称 类型 是否必填 示例 参数位置 描述 User-Agent string 是 pan.baidu.com header 请求头部 请求参数 参数名称 类型 是否必填 示例 参数位置 描述 access_token string 是 12.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328 URL参数 接口鉴权认证参数,标识用户 响应参数 如果下载成功,响应内容即为对应文件。 如果下载失败,会返回如下错误码。 错误码 错误码 错误描述 31045 access_token验证未通过,请检查access_token是否过期,用户授权时是否勾选网盘权限等。 31362 签名错误,请检查链接地址是否完整。 31326 命中防盗链,需检查User-Agent请求头是否正常。 更多错误码请参考《平台简介 > 错误码》中“公共错误码”部分。 请求示例 curl示例 curl -L -X GET 'https://d.pcs.baidu.com/file/1261d72d03471f7b7b805fd60e024b8d?fid=2082810368-250528-414244021542671&rt=pr&sign=FDtAERV-DCb740ccc5511e5e8fedcff06b081203-Rnos3iOhNnMF1pS44AUWwor%2BJw8%3D&expires=8h&chkbd=0&chkv=2&dp-logid=4111511902857508725&dp-callid=0&dstime=1596179809&r=802381259&access_token=12.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328' \ -H 'User-Agent: pan.baidu.com' python 示例 import requests url = "https://d.pcs.baidu.com/file/1261d72d03471f7b7b805fd60e024b8d?fid=2082810368-250528-414244021542671&rt=pr&sign=FDtAERV-DCb740ccc5511e5e8fedcff06b08120-Rnos3iOhNnMF1pS44AUWwor%2BJw8%3D&expires=8h&chkbd=0&chkv=2&dp-logid=4111511902857508725&dp-callid=0&dstime=1596179809&r=802381259&access_token=12.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328" payload = {} files = {} headers = { 'User-Agent': 'pan.baidu.com' } response = requests.request("GET", url, headers=headers, data = payload, files = files) print(response.text.encode('utf8')) java示例 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpGetRequestExample { public static void main(String[] args) { try { URL url = new URL("https://d.pcs.baidu.com/file/1261d72d03471f7b7b805fd60e024b8d?fid=2082810368-250528-414244021542671&rt=pr&sign=FDtAERV-DCb740ccc5511e5e8fedcff06b08120-Rnos3iOhNnMF1pS44AUWwor%2BJw8%3D&expires=8h&chkbd=0&chkv=2&dp-logid=4111511902857508725&dp-callid=0&dstime=1596179809&r=802381259&access_token=12.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328"); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); httpConn.setRequestMethod("GET"); httpConn.setRequestProperty("User-Agent", "pan.baidu.com"); httpConn.setRequestProperty("Host", "d.pcs.baidu.com"); BufferedReader in = new BufferedReader(new InputStreamReader(httpConn.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); System.out.println(response.toString()); } catch (Exception e) { System.out.println(e); } } } SDK获取 1.点击下载Go语言版本SDK:download.tar.gz 2.下载后,用tar -zxvf *.tar.gz命令即可解压。 3.解压后,您可看到在download 下有如下目录结构: . ├── demo │ ├── download.go │ └── file_metas.go ├── download │ ├── download.go │ ├── file_metas.go │ └── types.go └── utils └── util.go其中,demo为使用示例,您参考demo提供的接口参数进行调用,获取到接口返回结果。 download/file_metas.go为如何获取文件信息,并获得下载地址dlink。 download/download.go 为如何用dlink地址下载文件。 utils/utils.go 为发送http请求的函数实现,供获取文件信息和下载文件调用。 注意: 1.目前下载sdk仅支持小文件下载,如果涉及大文件,可参考该demo进行升级改造,涉及到分片下载、断点下载等技术。 2.如果遇到路径问题,建议使用 go.mod 方式管理依赖包(go mod资料)。 |
CopyRight 2018-2019 实验室设备网 版权所有 |